
package presentacion;

import accesoDatos.GestorAsignacion;
import accesoDatos.GestorEstudiante;
import accesoDatos.GestorMaquina;
import presentacion.recursos.MiRender;
import java.awt.Font;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JOptionPane;
import logicaNegocio.ClaseAsignacion;
import logicaNegocio.Maquina;
import presentacion.recursos.Contador;

/**
 *
 * @author WebVVE
 */
public class Control extends javax.swing.JFrame {
    
    private ArrayList<Contador> listaHilos;
    private GestorEstudiante gestorEstudiante;
    private GestorMaquina gestorMaquina;
    private GestorAsignacion gestorAsignacion;

    /** Creates new form Control */
    public Control() {
        initComponents();
        this.mensajesAyuda();
        this.tb_TablaControl.getTableHeader().setFont(new Font("TimesRoman",Font.BOLD + Font.ITALIC, 18)); //Codigo para editar formato de los titulos de la tabla
        this.gestorEstudiante = null;
        this.gestorMaquina = null;
        this.gestorAsignacion = null;
        this.listaHilos = new ArrayList<Contador>();
    }

    public void inicializarTabla(){
        ArrayList<Maquina> maquinas = null;
        maquinas = this.gestorMaquina.listarDato();
        if(maquinas == null)
                return;
        for(Maquina m : maquinas){
            this.verificarMaquinas(m);
        }
    }
    
    private void verificarMaquinas(Maquina m){
        int estado = m.getEstado();
        int fila = -1;
        if(m.getNumeroMaquina()>17)
            fila = (m.getNumeroMaquina()-2);
        else
            fila = (m.getNumeroMaquina()-1);
        switch(estado){
            case 1: String num = m.getNumeroMaquina()+"";
                this.cargarAsignaciones(num, fila);
                break;
            case 2: this.tb_TablaControl.setValueAt("Reparacion", fila, 2);
                break;
            case 3: this.tb_TablaControl.setValueAt("Prestamo", fila, 2);
                break;
            default: break;
        }
    }
    
    private void cargarAsignaciones(String numeroMaquina, int fila){
        ClaseAsignacion ca = this.gestorAsignacion.consultarDato(numeroMaquina);
        String hora = (ca.getHoraInicio().charAt(0)+"")+(ca.getHoraInicio().charAt(1)+"");
        String minuto = (ca.getHoraInicio().charAt(3)+"")+(ca.getHoraInicio().charAt(4)+"");
        String horaFinal = this.calcularHoraFinal(hora, minuto);
        this.tb_TablaControl.setValueAt(ca.getIdPersona(), fila, 1);
        this.tb_TablaControl.setValueAt("En Uso", fila, 2);
        this.tb_TablaControl.setValueAt(ca.getHoraInicio(), fila, 3);
        this.tb_TablaControl.setValueAt(horaFinal, fila, 5);
        this.calcularContador(ca.getHoraInicio(), fila);
    }
    
    private String calcularHoraFinal(String hora, String minuto){
        int hour = Integer.parseInt(hora);
        hour = hour + 3;
        String horaFinal = (hour +":"+minuto);
        return horaFinal;
    }
    
    private void calcularContador(String horaInicio, int fila){
        String hora = (horaInicio.charAt(0)+"")+(horaInicio.charAt(1)+"");
        String minutos = (horaInicio.charAt(3)+"")+(horaInicio.charAt(4)+"");
        int hora1 = Integer.parseInt(hora)*60;
        int minutos1 = hora1 + Integer.parseInt(minutos);
        Date fecha = new Date();
        int hora2 = fecha.getHours() * 60;
        int minutos2 = hora2 + fecha.getMinutes();
        int minutos3 = minutos2 - minutos1;
        int hora3 = 0;
        if(minutos3 < 120){
            while(minutos3 > 60){
                hora3++;
                minutos3 = minutos3 - 60;
            }
            Contador contador = new Contador(fila, this, hora3, minutos3, fecha.getSeconds());
            this.listaHilos.add(contador);
            contador.getHilo().start();
        }
        else{
            //salirse
        }
        /*int horaContador = fecha.getHours() - Integer.parseInt(hora);
        int minutosContador = 0;
        if(horaContador > 0)
            minutosContador = fecha.getMinutes() + Integer.parseInt(minutos);
        else
            minutosContador = fecha.getMinutes() - Integer.parseInt(minutos);
        if(minutosContador > 60){
            horaContador = horaContador+1;
            minutosContador = minutosContador - 60;
        }
        */
    }
    
    private void mensajesAyuda(){
        this.bt_Excepciones.setToolTipText("Ir al Modulo de Excepciones");
        this.bt_ListaEspera.setToolTipText("Ir al Modulo de Lista de Espera");
        this.bt_MenuPrincipal.setToolTipText("Regresar al Menu Principal");
        this.bt_Reasignar.setToolTipText("Volver a Asignar una Maquina");
    }
    
    /**
     * 
     */
    public void cargarTabla(){
        this.tb_TablaControl.setDefaultRenderer(Object.class, new MiRender());
    }
    
    public void obtenerGestores(GestorEstudiante ge, GestorMaquina gm, GestorAsignacion ga){
        this.gestorEstudiante = ge;
        this.gestorMaquina = gm;
        this.gestorAsignacion = ga;
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        tb_TablaControl = new javax.swing.JTable();
        jToolBar1 = new javax.swing.JToolBar();
        bt_Excepciones = new javax.swing.JButton();
        bt_ListaEspera = new javax.swing.JButton();
        bt_MenuPrincipal = new javax.swing.JButton();
        bt_Reasignar = new javax.swing.JButton();

        setTitle("Control de Equipo");

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        tb_TablaControl.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {"1", "", "Disponible", null, "", null, null, null},
                {"2", null, "Disponible", null, "", null, null, null},
                {"3", null, "Disponible", null, "", null, null, null},
                {"4", null, "Disponible", null, "", null, null, null},
                {"5", null, "Disponible", null, "", null, null, null},
                {"6", null, "Disponible", null, "", null, null, null},
                {"7", null, "Disponible", null, "", null, null, null},
                {"8", null, "Disponible", null, "", null, null, null},
                {"9", null, "Disponible", null, "", null, null, null},
                {"10", null, "Disponible", null, "", null, null, null},
                {"11", null, "Disponible", null, "", null, null, null},
                {"12", null, "Disponible", null, "", null, null, null},
                {"13", null, "Disponible", null, "", null, null, null},
                {"14", null, "Disponible", null, null, null, null, null},
                {"15", null, "Disponible", null, null, null, null, null},
                {"16", null, "Disponible", null, null, null, null, null},
                {"18", null, "Disponible", null, null, null, null, null},
                {"19", null, "Disponible", null, null, null, null, null},
                {"20", null, "Disponible", null, null, null, null, null},
                {"21", null, "Disponible", null, null, null, null, null},
                {"22", null, "Disponible", null, null, null, null, null},
                {"23", null, "Disponible", null, null, null, null, null},
                {"24", null, "Disponible", null, null, null, null, null},
                {"25", null, "Disponible", null, null, null, null, null},
                {"26", null, "Disponible", null, null, null, null, null},
                {"27", null, "Disponible", null, null, null, null, null},
                {"28", null, "Disponible", null, null, null, null, null},
                {"29", null, "Disponible", null, null, null, null, null},
                {"30", null, "Disponible", null, null, null, null, null},
                {"31", null, "Disponible", null, null, null, null, null},
                {"32", null, "Disponible", null, null, null, null, null},
                {"33", null, "Disponible", null, null, null, null, null},
                {"34", null, "Disponible", null, null, null, null, null},
                {"35", null, "Disponible", null, null, null, null, null},
                {"36", null, "Disponible", null, null, null, null, null},
                {"37", null, "Disponible", null, null, null, null, null},
                {"38", null, "Disponible", null, null, null, null, null},
                {"39", null, "Disponible", null, null, null, null, null},
                {"40", null, "Disponible", null, null, null, null, null},
                {"41", null, "Disponible", null, null, null, null, null},
                {"42", null, "Disponible", null, null, null, null, null},
                {"43", null, "Disponible", null, null, null, null, null},
                {"44", null, "Disponible", null, null, null, null, null},
                {"45", null, "Disponible", null, null, null, null, null},
                {"46", null, "Disponible", null, null, null, null, null},
                {"47", null, "Disponible", null, null, null, null, null},
                {"48", null, "Disponible", null, null, null, null, null},
                {"49", null, "Disponible", null, null, null, null, null},
                {"50", null, "Disponible", null, null, null, null, null},
                {"51", null, "Disponible", null, null, null, null, null},
                {"52", null, "Disponible", null, null, null, null, null},
                {"53", null, "Disponible", null, null, null, null, null},
                {"54", null, "Disponible", null, null, null, null, null},
                {"55", null, "Disponible", null, null, null, null, null},
                {"56", null, "Disponible", null, null, null, null, null},
                {"57", null, "Disponible", null, null, null, null, null},
                {"58", null, "Disponible", null, null, null, null, null},
                {"59", null, "Disponible", null, null, null, null, null},
                {"60", null, "Disponible", null, null, null, null, null},
                {"61", null, "Disponible", null, null, null, null, null},
                {"62", null, "Disponible", null, null, null, null, null},
                {"63", null, "Disponible", null, null, null, null, null},
                {"64", null, "Disponible", null, null, null, null, null},
                {"65", null, "Disponible", null, null, null, null, null},
                {"66", null, "Disponible", null, null, null, null, null},
                {"67", null, "Disponible", null, null, null, null, null},
                {"68", null, "Disponible", null, null, null, null, null},
                {"69", null, "Disponible", null, null, null, null, null},
                {"70", null, "Disponible", null, null, null, null, null},
                {"71", null, "Disponible", null, null, null, null, null},
                {"72", null, "Disponible", null, null, null, null, null},
                {"73", null, "Disponible", null, null, null, null, null},
                {"74", null, "Disponible", null, null, null, null, null},
                {"75", null, "Disponible", null, null, null, null, null},
                {"76", null, "Disponible", null, null, null, null, null},
                {"77", null, "Disponible", null, null, null, null, null},
                {"78", null, "Disponible", null, null, null, null, null},
                {"79", null, "Disponible", null, null, null, null, null},
                {"80", null, "Disponible", null, null, null, null, null}
            },
            new String [] {
                "Computadora", "Identificación", "Estado", "Hora Inicio", "Contador", "Hora Final", "Mensaje", "Vista"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tb_TablaControl.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tb_TablaControlMouseClicked(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                tb_TablaControlMousePressed(evt);
            }
        });
        jScrollPane2.setViewportView(tb_TablaControl);

        jToolBar1.setRollover(true);

        bt_Excepciones.setIcon(new javax.swing.ImageIcon(getClass().getResource("/presentacion/imagenes/Excepcion.png"))); // NOI18N
        bt_Excepciones.setFocusable(false);
        bt_Excepciones.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        bt_Excepciones.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        bt_Excepciones.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_ExcepcionesActionPerformed(evt);
            }
        });
        jToolBar1.add(bt_Excepciones);

        bt_ListaEspera.setIcon(new javax.swing.ImageIcon(getClass().getResource("/presentacion/imagenes/listaEspera.png"))); // NOI18N
        bt_ListaEspera.setFocusable(false);
        bt_ListaEspera.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        bt_ListaEspera.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        bt_ListaEspera.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_ListaEsperaActionPerformed(evt);
            }
        });
        jToolBar1.add(bt_ListaEspera);

        bt_MenuPrincipal.setIcon(new javax.swing.ImageIcon(getClass().getResource("/presentacion/imagenes/Home.png"))); // NOI18N
        bt_MenuPrincipal.setFocusable(false);
        bt_MenuPrincipal.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        bt_MenuPrincipal.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        bt_MenuPrincipal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_MenuPrincipalActionPerformed(evt);
            }
        });
        jToolBar1.add(bt_MenuPrincipal);

        bt_Reasignar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/presentacion/imagenes/reasignar.PNG"))); // NOI18N
        bt_Reasignar.setFocusable(false);
        bt_Reasignar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        bt_Reasignar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        bt_Reasignar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_ReasignarActionPerformed(evt);
            }
        });
        jToolBar1.add(bt_Reasignar);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 612, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(465, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(3, 3, 3)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 271, Short.MAX_VALUE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void tb_TablaControlMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tb_TablaControlMouseClicked
        if(evt.getClickCount() == 2){
            if(this.tb_TablaControl.getValueAt(tb_TablaControl.getSelectedRow(), 2).equals("Reparacion")
                    || this.tb_TablaControl.getValueAt(tb_TablaControl.getSelectedRow(), 2).equals("Prestamo")){
                JOptionPane.showMessageDialog(rootPane, "Esta computadora se encuentra en Reparacion o Prestada, por favor asigne otra Computadora");
            }else if(tb_TablaControl.getSelectedColumn() == 6){
                Mensaje me = new Mensaje();
                me.getControl(this);
                me.setVisible(true);
            }else if(tb_TablaControl.getSelectedColumn() == 7){ 
                if(this.tb_TablaControl.getValueAt(tb_TablaControl.getSelectedRow(), 2).equals("En Uso")){
                    JOptionPane.showMessageDialog(rootPane, "Este Modulo no se encuentra disponible para esta version del Sistema SMEI");
                }else{
                    JOptionPane.showMessageDialog(rootPane, "ERROR: Esta Computadora no esta en Uso");
                }
            }else if(this.tb_TablaControl.getValueAt(tb_TablaControl.getSelectedRow(), 2).equals("En Uso")){
                this.desactivar(tb_TablaControl.getSelectedRow());
            }else{
            Asignacion as = new Asignacion();
            as.getControl(this, tb_TablaControl.getValueAt(tb_TablaControl.getSelectedRow(), 0).toString(),
                    tb_TablaControl.getSelectedRow());
            as.obtenerGestores(gestorEstudiante, gestorMaquina, gestorAsignacion);
            as.setVisible(true);
            }
        }
    }//GEN-LAST:event_tb_TablaControlMouseClicked

    /**
     * 
     * @param fila
     */
    public void desactivar(int fila){
        int maquina = 0;
        if(fila <= 15)
            maquina = fila+1;
        else
            maquina = fila+2;
        String idP = this.tb_TablaControl.getValueAt(fila, 1).toString();
        String hour = this.tb_TablaControl.getValueAt(fila, 3).toString();
        ClaseAsignacion ca = this.gestorAsignacion.consultarAsignacion(idP, maquina, hour);
        this.gestorAsignacion.modificarDato(ca);
        tb_TablaControl.setValueAt("", fila, 1);
        tb_TablaControl.setValueAt("Disponible", fila, 2);
        tb_TablaControl.setValueAt("", fila, 3);
        tb_TablaControl.setValueAt("", fila, 4);
        tb_TablaControl.setValueAt("", fila, 5);
        tb_TablaControl.setValueAt("", fila, 6);
        tb_TablaControl.setValueAt("", fila, 7);
        for(Contador c : this.listaHilos){
            if(c.getFila() == fila)
                c.getHilo().stop();
        }
        if(!this.listaHilos.isEmpty())
            this.listaHilos.remove(this.posicionContador(fila));
        this.cargarTabla();
    }
    
    
    private int posicionContador(int fila){
        int pos = 0;
        for(Contador c : this.listaHilos){
            if(c.getFila() == fila)
                return pos;
            pos++;
        }
        return -1;
    }
    
    private void tb_TablaControlMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tb_TablaControlMousePressed
        
    }//GEN-LAST:event_tb_TablaControlMousePressed

    private void bt_ExcepcionesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_ExcepcionesActionPerformed
        ArrayList computadoras = new ArrayList();
        for(int i = 0; i < tb_TablaControl.getRowCount(); i++){
            if(tb_TablaControl.getValueAt(i, 2).equals("Disponible")){
                computadoras.add(tb_TablaControl.getValueAt(i, 0));
            }
        }
        Boleta_Excepciones be = new Boleta_Excepciones();
        be.cargarTabla(computadoras);
        be.getControl(this);
        be.setVisible(true);
    }//GEN-LAST:event_bt_ExcepcionesActionPerformed

    private void bt_MenuPrincipalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_MenuPrincipalActionPerformed
        this.setVisible(false);
    }//GEN-LAST:event_bt_MenuPrincipalActionPerformed

    private void bt_ListaEsperaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_ListaEsperaActionPerformed

        ListaEspera le = new ListaEspera();         le.setVisible(true);     }//GEN-LAST:event_bt_ListaEsperaActionPerformed

    private void bt_ReasignarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_ReasignarActionPerformed
        if(this.tb_TablaControl.getSelectedRow()!=-1){
            int f = this.tb_TablaControl.getSelectedRow();
            if(this.tb_TablaControl.getValueAt(f, 2).toString().equals("En Uso")){
                int nm = Integer.parseInt(this.tb_TablaControl.getValueAt(f, 0).toString());
                String id = this.tb_TablaControl.getValueAt(f, 1).toString();
                String hi = this.tb_TablaControl.getValueAt(f, 3).toString();
                ClaseAsignacion ca = this.gestorAsignacion.consultarAsignacion(id, nm, hi);
                this.gestorAsignacion.modificarDato(ca);
                this.desactivarContador(f);
                Date date = new Date();
                String hf = this.calcularHoraFinal((date.getHours()+""), (date.getMinutes()+""));
                ca.setHoraInicio((date.getHours()+"")+":"+(date.getMinutes()+""));
                this.tb_TablaControl.setValueAt((date.getHours()+"")+":"+(date.getMinutes()+""), f, 3);
                Maquina maq = this.gestorMaquina.consultarDato(nm+"");
                if(maq == null){
                    maq = new Maquina(nm, 1);
                    this.gestorMaquina.ingresarDato(maq);
                }
                else{
                    maq.setEstado(1);
                    this.gestorMaquina.modificarDato(maq);
                }
                this.gestorAsignacion.ingresarDato(ca);
                this.activarContador(f);
                this.tb_TablaControl.setValueAt(hf, f, 5);
            }
            else
                JOptionPane.showMessageDialog(rootPane, "ERROR: Esta Maquina no se encuentra En Uso");
        }
        else
            JOptionPane.showMessageDialog(rootPane, "ERROR: Tiene que seleccionar una fila de la tabla primero");
    }//GEN-LAST:event_bt_ReasignarActionPerformed

    private void desactivarContador(int fila){
        for(Contador c : this.listaHilos){
            if(c.getFila() == fila)
                c.getHilo().stop();
        }
        if(!this.listaHilos.isEmpty())
            this.listaHilos.remove(this.posicionContador(fila));
    }
    
    private void activarContador(int fila){
        Contador contador = new Contador(fila, this);
        this.listaHilos.add(contador);
        contador.getHilo().start();
    }
    
    /**
     * 
     * @param lista
     * @param dato1
     * @param dato2
     * @param dato3
     */
    public void actualizarDatos(ArrayList lista, String dato1, String dato2, String dato3){
        for(int i = 0; i < this.tb_TablaControl.getRowCount(); i++){
            String numeroComp = this.tb_TablaControl.getValueAt(i, 0).toString();
            for(int j = 0; j < lista.size(); j++){
                String valor = lista.get(j).toString();
                if(numeroComp.equals(valor)){
                    this.tb_TablaControl.setValueAt(numeroComp, i, 0);
                    this.tb_TablaControl.setValueAt(dato1, i, 2);
                    this.tb_TablaControl.setValueAt("", i, 3);
                    this.tb_TablaControl.setValueAt("", i, 5);
                    this.tb_TablaControl.setValueAt("", i, 6);
                    this.tb_TablaControl.setValueAt("", i, 7);
                    lista.remove(j);
                }
            }
        }
    }
    
    /**
     * 
     * @param fila
     * @param iD
     * @param hI
     * @param hF
     */
    
    public void cronometro(int h, int m, int s, int f){
        this.tb_TablaControl.setValueAt((h+":"+m+":"+s), f, 4);
    }
    
    public void asignarComputadora(int fila,String iD, String hI, String hF){
        this.tb_TablaControl.setValueAt(iD, fila, 1);
        this.tb_TablaControl.setValueAt("En Uso", fila, 2);
        this.tb_TablaControl.setValueAt(hI, fila, 3);
        this.tb_TablaControl.setValueAt("", fila, 4);
        this.tb_TablaControl.setValueAt(hF, fila, 5);
        this.tb_TablaControl.setValueAt("", fila, 6);
    }

    public ArrayList<Contador> getListaHilos() {
        return listaHilos;
    }

    public void setListaHilos(ArrayList<Contador> listaHilos) {
        this.listaHilos = listaHilos;
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton bt_Excepciones;
    private javax.swing.JButton bt_ListaEspera;
    private javax.swing.JButton bt_MenuPrincipal;
    private javax.swing.JButton bt_Reasignar;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JTable jTable1;
    private javax.swing.JToolBar jToolBar1;
    private javax.swing.JTable tb_TablaControl;
    // End of variables declaration//GEN-END:variables
}
